package com.maiko.usercenter.model.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;

/**
 * 添加用户请求数据传输对象（管理员添加用户）
 * @author Maiko7
 * @create 2025-07-15 10:07
 */
@Data
@Schema(description = "管理员添加用户请求体")
public class UserAddRequest implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 账号
     */
    @Schema(description = "账号", example = "user123")
    private String account;

    /**
     * 用户昵称
     */
    @Schema(description = "用户昵称", example = "小明")
    private String username;

    /**
     * 明文密码，后端会加密
     * 比如那种管理员给你设置123456，后续你自己去修改密码
     */
    @Schema(description = "明文密码，后端会加密", example = "123456")
    private String password;

    /**
     * 手机号
     */
    @Schema(description = "手机号", example = "13812345678")
    private String phone;

    /**
     * 邮箱
     */
    @Schema(description = "邮箱", example = "945073480@qq.com")
    private String email;

    /**
     * 性别，0未知，1男，2女，默认0
     */
    @Schema(description = "性别，0=未知，1=男，2=女", example = "1", defaultValue = "0")
    private Integer gender;

    /**
     * 用户头像URL
     */
    @Schema(description = "用户头像URL", example = "https://avatars.githubusercontent.com/u/68885534?v=4&size=64")
    private String avatar;

    /**
     * 用户角色：0普通用户，1管理员，必须校验
     */
    @Schema(description = "用户角色：0=普通用户，1=管理员", example = "0")
    private Integer role;

    /**
     * 用户状态：0正常，1封禁，默认0
     */
    @Schema(description = "用户状态：0=正常，1=封禁", example = "0", defaultValue = "0")
    private Integer status;

}
